package org.vison.framework.doc.annotation;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * API模型属性注解
 * 用于标注请求参数或返回参数的字段信息
 */
@Target({ElementType.PARAMETER, ElementType.FIELD})
@Retention(RetentionPolicy.RUNTIME)
public @interface ApiProperty {

    /**
     * 属性描述
     */
    String description() default "";
    
    /**
     * 引入版本
     */
    String version() default "1.0.0";
    
    /**
     * 是否必需
     */
    boolean required() default false;
    
    /**
     * 默认值
     */
    String defaultValue() default "";
    
    /**
     * 示例值
     */
    String example() default "";
    
    /**
     * 排序
     */
    int order() default 0;
}